This section is intended to introduce the reader to various aspects of the art that may be related to various aspects of the present invention. The following discussion is intended to provide information to facilitate a better understanding of the present invention. Accordingly, it should be understood that statements in the following discussion are to be read in this light, and not as admissions of prior art.
This invention builds a geographically distributed cluster of cache appliances. Clustered cache appliances providing global cache consistency have existed for years, in systems such as the Andrew File System, the Open Software Foundation's Distributed File System (called DCE DFS) and NetApp's FlexCache system. However, these systems take a very restricted approach to managing network partitions, which this invention remedies. In addition, none of these systems allow write-back caching along with strict cache coherence in the presence of network partitions.
The Andrew File System, for example, only provides synchronization with other users when a file is closed. Furthermore, once the file is closed, the file is written back synchronously to the back-end server, implementing a write-through policy instead of a write-back policy. The DCE DFS file system essentially operates in the same manner, writing data through to the file server when a file is closed. The NetApp FlexCache system only operates in write-through mode and handles network partitions by waiting for the partition's repair.
This invention, on the other hand, allows strictly correct behavior even when operating in write-back mode, and even when a network partition occurs. Its default behavior in write-back mode is for partitioned users to wait for the network partition to be repaired, before being able to read the modified data. Other operational configurations allow partitioned users to read older versions of the data during a partition separating the partitioned users from the latest version of the data. Yet other write-back configurations are described as well.